/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.magri.modulo2.agenda.bean;

import java.sql.Date;
import java.util.List;
import org.magri.mvc.annotation.Bean;
import org.magri.mvc.annotation.BeanField;
import org.magri.mvc.annotation.FieldType;
import org.magri.mvc.modelo.AbstractBean;

/**
 *
 * @author Magri
 */
@Bean(table="CONTATO")
public class Contato extends AbstractBean {
    
    @BeanField(field = "ID", type = FieldType.INT)
    private Integer id;
    
    @BeanField(field = "NOME", type = FieldType.STRING)
    private String nome;
    
    @BeanField(field = "DATANASCIMENTO", type = FieldType.DATE)
    private java.sql.Date dataNascimento;
    
    @BeanField(field = "ENDERECO", type = FieldType.STRING)
    private String endereco;
    
    @Bean(table="CIDADE")
    @BeanField(field = "ID", type = FieldType.ABSTRACTBEAN)
    private Cidade cidade;
    
    
    private java.util.List<Telefone> telefones;

    public Contato() {
        id = 0;
        nome = "";
        dataNascimento = null;
        endereco = "";
        cidade = new Cidade();
    }

    public Cidade getCidade() {
        return cidade;
    }

    public void setCidade(Cidade cidade) {
        this.cidade = cidade;
    }

    public Date getDataNascimento() {
        return dataNascimento;
    }

    public void setDataNascimento(Date dataNascimento) {
        this.dataNascimento = dataNascimento;
    }

    public String getEndereco() {
        return endereco;
    }

    public void setEndereco(String endereco) {
        this.endereco = endereco;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public List<Telefone> getTelefones() {
        return telefones;
    }

    public void setTelefones(List<Telefone> telefones) {
        this.telefones = telefones;
    }
    
    public void addTelefone(Telefone telefone) {
        telefone.setContato(this);
        telefones.add(telefone);
    }
    public void addTelefone(String numero, String descricao) {
        Telefone t = new Telefone(this);
        t.setNumero(numero);
        t.setDescricao(descricao);
        addTelefone(t);
    }
    
}
